﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>找色 - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The 找色 function searches a region of the screen 遍历 a pixel of the specified color." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>找色</h1>

<p>在屏幕某个区域中搜索指定颜色所在的像素.</p>

<pre class="Syntax"><span class="func">找色</span> OutputVarX, OutputVarY, X1, Y1, X2, Y2, ColorID <span class="optional">, Variation</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>OutputVarX/Y</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#variables">变量</a></p>
    <p>存储与 <em>ColorID</em> 匹配的第一个像素的 X 和 Y 坐标的变量(如果没有找到匹配的像素, 则变量为空). 除非使用 <a href="CoordMode.htm">坐标模式</a> 来改变坐标, 否则坐标是相对于活动窗口的.</p>
  </dd>

  <dt>X1, Y1</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>要搜索的矩形区域的起始角的 X 和 Y 坐标. <strong>坐标相对于活动窗口, 除非曾使用 <a href="CoordMode.htm">坐标模式</a> 改变了这个设置</strong>.</p>
  </dd>

  <dt>X2, Y2</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>搜索的矩形区域的结束角的 X 和 Y 坐标. 坐标相对于活动窗口, 除非曾使用 <a href="CoordMode.htm">坐标模式</a> 改变了这个设置.</p>
  </dd>

  <dt>ColorID</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>要搜索的颜色 ID. 通常用红绿蓝(RGB) 格式的十六进制数表示. 例如: <code>0x9d6346</code>. 颜色 ID 可以通过 Window Spy(可从托盘菜单访问) 或 <a href="PixelGetColor.htm">获取像素颜色</a> 来确定.</p>
  </dd>

  <dt>Variation</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>介于 0 和 255(包含) 之间的数字, 用于表示每个像素颜色红/绿/蓝通道强度在任一方向上允许的渐变值. 如果所查找的颜色并不总是完全相同的色度, 这个参数很有用. 如果指定 255 为渐变值, 则匹配所有颜色. 默认渐变值为 0.</p>
  </dd>

</dl>

<h2 id="Return_Value">返回值</h2>
<p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p>
<p>如果在指定的区域内找到了指定颜色, 该函数返回 1(true), 如果没有找到, 则返回 0(false).</p>

<h2 id="Error_Handling">错误处理</h2>
<p>如果有问题导致函数无法进行搜索, 则抛出异常.</p>

<h2 id="Remarks">备注</h2>
<p>要搜索的区域必须是可见的; 换句话说, 不可能搜索隐藏在另一个窗口后面的窗口区域. 相比之下, 鼠标光标下方的像素通常可以被检测到. 游戏中的光标是个例外, 在大多数情况下, 游戏中的光标会隐藏其下方的任何像素.</p>
<p>虽然支持低至 8 位(256-色) 的颜色深度, 但快速模式在 24 位或 32 位颜色中的表现要好得多.</p>
<p>搜索从 <em>X1</em> 和 <em>Y1</em> 指定的坐标开始, 并检查 <em>X1</em> 到 <em>X2</em> 这一行的所有像素是否匹配. 如果在那里没有找到匹配的像素, 则继续向 <em>Y2</em> 逐行搜索, 直到找到匹配的像素.</p>
<p>搜索顺序取决于参数的顺序. 换句话说, 如果 <em>X1</em> 大于 <em>X2</em>, 搜索将从右到左, 从 <em>X1</em> 列开始. 同样, 如果 <em>Y1</em> 大于 <em>Y2</em>, 则将从下往上搜索.</p>
<p>如果要搜索的区域比较大而且搜索频率比较高, 可能会消耗大量的 CPU 时间. 为了缓解这种情况, 要尽量减少区域的大小.</p>

<h2 id="Related">相关</h2>
<p><a href="PixelGetColor.htm">获取像素颜色</a>, <a href="ImageSearch.htm">找图</a>, <a href="CoordMode.htm">坐标模式</a>, <a href="MouseGetPos.htm">获取鼠标位置</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a></p>
<pre>如果 找色(Px, Py, 200, 200, 300, 300, 0x9d6346, 3)
    信息框 "A color within 3 shades of variation was found at X" Px " Y" Py
否则
    信息框 "That color was not found in the specified region."
</pre>
</div>

</body>
</html>